package com.game.World.Logical;



/**
 * Class that contains all the parameters to generate the level.
*  All the parameters it generates itself, depending on the level of the dungeon (difficulty) 
 * @author Max
 *
 */
public class LevelOptions {

	public int lvl;
	
	public int small_chambers = 0;
	public int middle_chambers = 0;
	public int big_chambers = 0 ;
	
	public int square = 0;
	
	
	public int hall_count = 0;
	public int monsters_count_min = 0;
	public int monsters_count_max = 0;
	public int monsters_lvl_min = 0;
	public int monsters_lvl_max = 0;
	public int loot_count_min = 0;
	public int loot_count_max = 0;
	public int doors_locked_count = 0;
	
	
	/**
	 * Constructors without parameters
	 * level = 0
	 */
	public LevelOptions() {
		lvl = 0;
	}
	
	
	/**
	 * Constructor create an options with non starter level
	 * @param lvl - level of dungeon
	 */
	public LevelOptions(int lvl) {
		this.lvl = lvl;
	}
	
	
	/**
	 * Methods that set settings and parameters of level, depending level(difficulty)
	 */
	public void setOptions() {
		
		switch(lvl) {
		case 0:
			small_chambers = 4;
			middle_chambers = 0;
			big_chambers = 0 ;
			hall_count = 2;
			monsters_count_min = 1;
			monsters_count_max = 3;
			monsters_lvl_min = 1;
			monsters_lvl_max = 1;
			loot_count_min = 1;
			loot_count_max = 2;
			doors_locked_count = 0;
			break;
		case 1:
			break;
		default:
			break;
		}
		
		//Calculating the square of future level
		square = 10 + (small_chambers * 10) + (middle_chambers * 20) + (big_chambers * 30) + ((hall_count / 3 + 1)  * 10);
	}
	
	


}



















